package br.com.appestoque;

import java.security.InvalidKeyException;
import java.util.ArrayList;
import java.util.List;

import javax.crypto.BadPaddingException;
import javax.crypto.IllegalBlockSizeException;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import br.com.appestoque.protocolo.Http;
import br.com.appestoque.seguranca.Criptografia;
import br.com.appestoque.seguranca.HashCode;
import br.com.appestoque.util.Constantes;
import br.com.appestoque.util.Conversor;
import br.com.appestoque.util.Propriedade;

public class Console {
	
	public static void main(String[] args) {
		List <NameValuePair> parametros = new ArrayList<NameValuePair>();
		
		Criptografia criptografia = new Criptografia();
		HashCode hashCode = new HashCode();
		String uuid = null, cnpj = null;
		
		try {
			uuid = Conversor.byteToString(criptografia.cifrar(Propriedade.properties.getProperty("uuid")),br.com.appestoque.util.Constantes.DELIMITADOR);
		} catch (InvalidKeyException e) {
			e.printStackTrace();
		} catch (BadPaddingException e) {
			e.printStackTrace();
		} catch (IllegalBlockSizeException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		cnpj = hashCode.processar(Propriedade.properties.getProperty("cnpj"));
		
		parametros.add(new BasicNameValuePair("uuid",uuid));
		parametros.add(new BasicNameValuePair("cnpj",cnpj));
		
		switch (Integer.parseInt(args[0])) {
			/**
			 * limpar bairro
			 */
			case 0:
				Http.requisicao(Propriedade.properties.getProperty("url")+Constantes.URL_LIMPAR_BAIRRO,parametros);
				break;
			/**
			 * limpar cidade
			 */
			case 1:
				Http.requisicao(Propriedade.properties.getProperty("url")+Constantes.URL_LIMPAR_CIDADE,parametros);
				break;
			/**
			 * limpar produto
			 */
			case 2:
				Http.requisicao(Propriedade.properties.getProperty("url")+Constantes.URL_LIMPAR_PRODUTO,parametros);
				break;	
			
			/**
			 * limpar cliente
			 */
			case 3:
				Http.requisicao(Propriedade.properties.getProperty("url")+Constantes.URL_LIMPAR_CLIENTE,parametros);
				break;	
		}		
		
	}

}